package com.jintian.smart.kernel.security.provider;

import com.jintian.smart.base.api.security.provider.ILevel3ProtectConfigProvider;
import com.jintian.smart.kernel.security.service.Level3ProtectConfigService;
import jakarta.annotation.Resource;
import org.apache.dubbo.config.annotation.DubboService;

@DubboService(timeout = 6000)
public class Level3ProtectConfigProvider implements ILevel3ProtectConfigProvider {
    @Resource
    private Level3ProtectConfigService level3ProtectConfigService;

    /**
     * 开启双因子登录，默认：开启
     * -- GETTER --
     * 开启双因子登录，默认：开启
     */
    public boolean isTwoFactorLoginEnabled() {
        return level3ProtectConfigService.isTwoFactorLoginEnabled();
    }

    /**
     * 密码复杂度 是否开启，默认：开启
     * -- GETTER --
     * 密码复杂度 是否开启，默认：开启
     */
    public boolean isPasswordComplexityEnabled() {
        return level3ProtectConfigService.isPasswordComplexityEnabled();
    }

    /**
     * 最低活跃时间（单位：秒），超过此时间没有操作系统就会被冻结，默认-1 代表不限制，永不冻结; 默认 30分钟
     */
    public int getLoginActiveTimeoutSeconds() {
        return level3ProtectConfigService.getLoginActiveTimeoutSeconds();
    }
}
